package object03;

public class Demo03 {
    public static void main(String[] args) {
        Person p1 = new Person("谢霆锋", 30);
        Person p2 = new Person("佟大为", 29);
        /*boolean equals(Object obj) */ ;//Object obj=new Person("佟大为", 29);//多态
        boolean b1 = p1.equals(p2);//false
        System.out.println(b1);

        boolean b2 = p1.equals(p1);//true
        System.out.println(b2);
    }
}
/**
 * public boolean equals(Object obj) {
 *         return (this == obj);
 * }
 * ==比较运算符
 *   a.基本数据类型比较的是两个基本类型的数值
 *      int i=3;
 *      int j=11;
 *      i==j //false
 *   b.引用数据类型比较的是两个引用中的地址值
 *
 *
 *
 *
 * 1.obj=p2=new Person("佟大为", 29);
 *   this=p1=new Person("谢霆锋", 30);
 *   p1==p2//由于p1指向new Person("谢霆锋", 30),假设地址值为0x4C
 *         //p2指向new Person("佟大为", 29);假设地址值为0x5B
 *         //由于两者的内存地址值不同,所以返回false
 * 2.obj=p1=new Person("谢霆锋", 30);
 *   this=p1=new Person("谢霆锋", 30);
 *   p1==p1//由于p1指向new Person("谢霆锋", 30),假设地址值为0x4C
 *          //因此p1的内存地址值==p1的内存地址值 返回true
 *
 *
 */

